const path = require('path');
const debug = process.env.NODE_ENV !== 'production';

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/wuhen_music/' : '/',
  outputDir: 'dist', // 构建输出目录
  assetsDir: 'assets', // 静态资源目录 (js, css, img, fonts)
  lintOnSave: false, // 是否开启eslint保存检测，有效值：ture | false | 'error'
  runtimeCompiler: true, // 运行时版本是否需要编译
  transpileDependencies: [], // 默认babel-loader忽略mode_modules，这里可增加例外的依赖包名
  productionSourceMap: false, // 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度
  configureWebpack: config => { // webpack配置，值位对象时会合并配置，为方法时会改写配置
    if (debug) { // 开发环境配置
      config.devtool = 'cheap-module-eval-source-map'
    } else { // 生产环境配置
    }
    // Object.assign(config, { // 开发生产共同配置
    //     resolve: {
    //         alias: {
    //             '@': path.resolve(__dirname, './src'),
    //             '@c': path.resolve(__dirname, './src/components'),
    //             'vue$': 'vue/dist/vue.esm.js'
    //         }
    //     }
    // })
  },
  chainWebpack: config => { // webpack链接API，用于生成和修改webapck配置，https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
    if (debug) {
      // 本地开发配置
    } else {
      // 生产开发配置
    }
  },
  parallel: require('os').cpus().length > 1, // 构建时开启多进程处理babel编译
  pluginOptions: { // 第三方插件配置
  },
  pwa: { // 单页插件相关配置 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  },
  css: {
    loaderOptions: {
      sass: {
        // 新版sass-loader
        prependData: `@import "~@/assets/sass/_publicStyle.scss";`
      }
    }
  },
  devServer: {
    disableHostCheck: true,  //是否检查访问源来自本地host地址
    open: false, // 是否自动弹出浏览器界面，默认true
    host: 'localhost',
    port: 2020,
    https: false,
    hotOnly: false,
    proxy: { // 配置跨域/代理（将跨域的链接 代理成 本域名端口下的链接）
      '/api': {
        target: 'http://localhost:3000/', //需要代理的链接
        changeOrigin: true,  //vue-cli3中默认true，发送请求头中host会设置成target
        // secure: false,  // 如果是https接口，需要配置这个参数
        pathRewrite: {
          '^/api': ''
        }
      }
    },
    before: app => { }
  }
  
}
